ļUSB Mass Storage ģֲʹ˵

ֲ˵

ֲUSB Mass Storage Ӧ˵
usb_mass_storage ļеļҪSTUSB̼еķ
ӶʹԷӵͬĹȥ


2. Ҫ include ļ
#include "usbd_msc_core.h"
#include "usbd_usr.h"
#include "usbd_desc.h"
#include "usb_conf.h"

extern USB_OTG_CORE_HANDLE     USB_OTG_dev;

3. Ǵһ usb_bsp.h ļЩͷļȫֱֻҪ #include "usb_bsp.h" ɡ

4. ҪӼжϷ⼸жѾŵ usb_it.c ļֻҪӵ̼ɡ

5. ڹUSB̼⣺STM32_USB_Device_Library  STM32_USB_OTG_Driver
	STM32_USB_Device_Library\Core\Core
	STM32_USB_Device_Library\Class\msc
	STM32_USB_OTG_Driver\src	
6. Ԥ궨壺USE_USB_OTG_FS, USE_EMBEDDED_PHY

	VBUS_SENSING_ENABLED ǿѡ

7. ȫֱ USB_OTG_dev  usbd_usr.c ļ
#ifdef USB_OTG_HS_INTERNAL_DMA_ENABLED
  #if defined ( __ICCARM__ ) /*!< IAR Compiler */
    #pragma data_alignment=4
  #endif
#endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */

__ALIGN_BEGIN USB_OTG_CORE_HANDLE     USB_OTG_dev __ALIGN_END ;

8. Ҫ usb_bsp.h ҪļҪ

ʹ÷
1.  USBD_Init() USBӲá Ҫ #include "usb_bsp.h"
	USBD_Init(&USB_OTG_dev,
		#ifdef USE_USB_OTG_HS
			USB_OTG_HS_CORE_ID,
		#else
			USB_OTG_FS_CORE_ID,
		#endif
			&USR_desc,
			&USBD_MSC_cb,
			&USR_cb);

2. ̬ƳUSBӵã
	DCD_DevDisconnect(&USB_OTG_dev);

3. ָ̬USBӣµãUSBD_Init 
		//DCD_DevConnect(&USB_OTG_dev);  ʹ
		USBD_Init(&USB_OTG_dev,
			#ifdef USE_USB_OTG_HS
				USB_OTG_HS_CORE_ID,
			#else
				USB_OTG_FS_CORE_ID,
			#endif
				&USR_desc,
				&USBD_MSC_cb,
				&USR_cb);